package 反射.myinterface;

/**
 * @Projectname java_based
 * @Filename MethodTest
 * @Author an
 * @Data 2022/7/26 21:23
 * @Description TODO
 */

import org.junit.Test;

import java.lang.reflect.Method;

/**
 * 获取运行时类的方法结构
 */
public class MethodTest {
    @Test
    public void test1(){
        Class clazz = Person.class;
        //getMethods():获取当前运行时类及其所有父类中声明为public权限的方法
        Method[] methods = clazz.getMethods();
        for(Method m : methods){
            System.out.println(m);
        }
        System.out.println("****************************");
        //getDeclaredMethods():获取当前运行时类中声明的所有方法。（不包含父类中声明的方法）
        Method[] declaredMethods = clazz.getDeclaredMethods();
        for(Method m : declaredMethods){
            System.out.println(m);
        }
    }
}
